package com.file.manage.domain.service;

import com.file.manage.domain.data.OperationLogsVO;
import com.file.manage.domain.entity.OperationLogs;
import com.file.manage.domain.param.OperationLogsQueryParam;
import com.file.manage.infrastructure.base.Pager;
import com.file.manage.infrastructure.base.dto.query.PageQuery;
import com.file.manage.infrastructure.base.service.BaseService;

/**
 * 操作日志 服务类
 *
 * @since 2025-05-22
 */
public interface OperationLogsService extends BaseService<OperationLogs> {


    /**
     * 分页查询操作日志
     *
     * @param pageQuery
     * @return
     */
    Pager<OperationLogsVO> pageQuery(PageQuery<OperationLogsQueryParam> pageQuery);
    /**
     * 记录新建文件夹日志
     */
    void recordingCreateFolder(String filePath);
    /**
     * 记录上传日志
     */
    void recordingUpload(String filePath);

    /**
     * 记录删除日志
     */
    void recordingDelete(String filePath);

    /**
     * 修改删除日志
     */
    void recordingUpdate(String odlFilePath, String newFilePath);

    /**
     * 移动删除日志
     */
    void recordingMove(String fromFilePath, String toFilePath);

    /**
     * 记录下载日志
     */
    void recordingDownload(String filePath);
}
